package org.javahispano.javacup.tacticas_aceptadas.jcrosas.chuky.entrenador;

import java.util.ArrayList;

import org.javahispano.javacup.modelo.Comando;
import org.javahispano.javacup.tacticas_aceptadas.jcrosas.chuky.futbolista.Futbolista;
import org.javahispano.javacup.tacticas_aceptadas.jcrosas.chuky.futbolista.Oponente;
import org.javahispano.javacup.tacticas_aceptadas.jcrosas.chuky.futbolista.Rol;
import org.javahispano.javacup.tacticas_aceptadas.jcrosas.chuky.util.Balon;
import org.javahispano.javacup.tacticas_aceptadas.jcrosas.chuky.util.PosicionCampo;

/**
 * @author Joan Crosas
 *
 */
public interface VisionPartido extends Sugerencias {
	public ArrayList<Futbolista> getFutbolistas();
	public Futbolista getFutbolista( int i );
	public ArrayList<Oponente> getOponentes();
	public Balon getBalon();
	public boolean saco();
	public int iteracionesSaque();
	public int seguridadBalon();
	public double getAtaque();
	public Futbolista futbolistaMasCercanoBalon();
	public Futbolista futbolistaBalonControlado();
	public ArrayList<Futbolista> futbolistasPuedenInterceptarBalon();
	public Futbolista futbolistaMasCercano( PosicionCampo posicion );
	public Futbolista futbolistaMasCercano( PosicionCampo posicion, Futbolista descarte );
	public Futbolista futbolistaMasCercano( PosicionCampo posicion, ArrayList<Futbolista> descartes );
	public ArrayList<Futbolista> futbolistasMasCercanos( PosicionCampo posicion );
	public Futbolista futbolistaMasCercano( PosicionCampo posicion, Rol rol, ArrayList<Futbolista> descartes );
	public Oponente oponenteMasCercanoBalon();
	public Oponente oponenteMasCercano( PosicionCampo posicion );
	public Oponente oponentePuedeInterceptarBalon();
	public void addComando( Comando comando );
	public void disminuirRestriccionesPase();
	
}
